History of CPU Architecture
Many current processor or CPU architectures borrow from the IBM 360 (announced in 1964) which had both characteristics of CISC and RISC designs. The design already considered multiprocessing requirements with specific instructions as it was envisioned for the business and scientific computing needs. Most CPU designs were conceived for expected use around the Operating System (OS) software of the day, which were mostly proprietary. Up to this point, the computer was manufactured from discrete logic gates, resulting in the whole system occupying a few equivalent rooms in a house. The invention of a processor using discrete logic was already described in the U.S. Pat. No. 3,401,376 filed by G. H. Barnes et al in 1965, and granted patent in Sep. 10, 1968. Also U.S. Pat. No. 3,518,632 filed by R. Threadgold et al in 1967, which was granted patent in Jun. 30, 1970.
The story of the CPU can be said to begin in 1961 when Fairchild commercialized the first IC, after they and Ti invented it in 1959. In 1966 a patent filing U.S. Pat. No. 3,462,742 by Henry S. Miller et al of RCA Corp. which was granted patent in 1969 described a processor system made of many integrated circuits containing some 200 or so logic gates. This was a departure from an all discrete logic circuits.
Soon it was generally recognized that if certain modules that made up the processor was aimed to be shrunk into an IC, it was only natural to assume that the next step was to put everything in an IC which would become the microprocessor, only that the technology was not feasible. In 1971 Intel produced the first microprocessor the Intel 4004 packaged in a 16-pin IC, and consisted of a 4-bit data bus, 12-bit address bus, sixteen 4-bit registers, four 12-bit registers, that ran at 750-khz clock. This was the simplest of all CPUs which embodied the classic Von Neumann architecture and was the starting point for CPU architectures.
In the seventies Unix was being used in the mainframe computers of the universities and corporate world. And in the late seventies when personal computers became affordable to the masses, the major OS were the single tasking Apple DOS, and CP/M. Multitasking for the masses, ie., the IBM PC clones in the form of Unix versions such as BSD Unix from Berkeley, and Xenix from Santa Cruz Operations, became available not long after IBM Corp. introduced the IBM PC in 1981, and with it the MSDOS, a single-tasking environment up to 1990 when Windows began to take hold.
In 1988 a portable operating system; the Portable-Operating-System-Interface-for-Unix (POSIX) was developed around a kernel with uniform function calls which described consistent behaviour of processes that can be ported to all high-performance CPUs. This standardized the disparate OS at the kernel and Application-Interface (API) which influenced the CPU architectures to support it.
Almost all new popular CPU architectures were designed from the middle eighties (Intel Pentium onwards came from the old 8086 design of 1978) and nineties from familiar CPU architectures such as the ARM in 1985, MIPS R2K in 1986, Sun Sparc in 1987, AMD 29K in 1988, Intel i960 in 1988, Motorola PowerPC in 1992, DEC Alpha in 1994, and Intel Itanium in 2002.
Almost all of these CPUs were of complicated designs except for the ARM, i960, and AMD 29K. Later architectures were superscalar, superpipelined, with branch prediction and other complex schemes, but in the end produced benchmarks not much better than the clean design of these three. Many of the concepts such as the rotating windows of Sun Sparc proved to be a bottleneck and inefficient. Unfortunately even these three left many desired features since they came before Posix was established, and in particular, Linux.
The demands of applications in a Posix environment such as the PC (Personal-Computer) and embedded system, packet data-flow in routers, and addition of modules, requires a CPU board to use DMA, multi-bridges, multi-arbiters, and I/O expansion bus such as the PCI and its variants. The CPU is expected to include these traditional components with the correspondingly complex interfacing scheme.